# -*- coding:utf8 -*- #
# ProjectName: smalleel-api-tools
# FileName:    timeUtil.py
# Author  :     
# Datetime:     2022/8/8 21:22
# Description：封装时间类型
# -----------------------------------------------------------------------------------
from datetime import datetime
from datetime import datetime, date, timedelta
import radar as radar


def get_nowtime(timeType: int) -> str:
    """
    timeType : 1:年月日,时分秒
               2：时刻
               3：年月日
               4： 年月日，时

    """
    if timeType == 1:
        return datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    elif timeType == 2:
        return datetime.now().strftime('%H')
    elif timeType == 3:
        return datetime.now().strftime('%Y-%m-%d')
    elif timeType == 4:
        return datetime.now().strftime('%Y-%m-%d %H')
    elif timeType == 5:
        return datetime.now().strftime('%Y-%m')
    else:
        return datetime.now().strftime('%Y')


def get_random_data(timeType=1, future_day="2023-12-31") -> str:
    """

    Args:
        timeType: 1：默认生成未来的时间，精确到年月日；
                 2：默认生成未来的时间，精确到年月日+时分秒
                 3：默认生成未来的时间，专供小程序即时账单使用，精确到年月日+时分秒+"23:59:59"
        future_day: 指定的未来时间，不填默认为：2023-12-31


    Returns:str

    """
    now_day = get_nowtime(3)
    random_data = str(radar.random_date(now_day, future_day)).split(" ")[0]
    if timeType == 1:
        return random_data
    elif timeType == 2:
        return random_data + get_nowtime(1)[10:]
    elif timeType == 3:
        return random_data + get_nowtime(1)[10:] + "23:59:59"


def get_last_date(days=1, timeType=1):
    """
    获取前几日时间，默认昨日
    """
    today = date.today()
    yesterday = today - timedelta(days=days)
    if timeType == 1:
        return yesterday.strftime('%Y-%m-%d')
    elif timeType == 2:
        return yesterday.strftime('%Y%m%d')
    else:
        print("不存在的时间参数")


if __name__ == '__main__':
    # print(get_nowtime(3))
    print(get_last_date(1))